using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using System.IO;
using System.Xml.Serialization;

namespace Example01
{
        public class Customer
        {
            public string FirstName { get; set; }
            public string LastName { get; set; }
            public string EmailAddress { get; set; }
        public override string ToString()
        {
            return string.Format("{0} {1} \nEmail: {2}", FirstName, LastName, EmailAddress);
        }
        }

    public class program
    { 
        public static void Main()
        {
            Customer c1 = new Customer
            {
                FirstName = "cust1",
                LastName = "lcust1",
                EmailAddress = "cust1@hotmail.com"
            };
            XmlSerializer serializer = new XmlSerializer(c1.GetType());
            StringWriter writer = new StringWriter();
            serializer.Serialize(writer, c1);
            string xml = writer.ToString();
            Console.WriteLine("Customer in XML:\n{0}\n ", xml);
            ///////////////////////////
            Customer c2 = serializer.Deserialize(new StringReader(xml)) as Customer;
            Console.WriteLine("Customer in Object: \n{0}", c2.ToString());
            Console.ReadKey();
        }
    }
}

